home *** CD-ROM | disk | FTP | other *** search
-
-
-
- mmmmkkkkffffssss____eeeeffffssss((((1111MMMM)))) mmmmkkkkffffssss____eeeeffffssss((((1111MMMM))))
-
-
-
- NNNNAAAAMMMMEEEE
- mkfs_efs - construct an EFS filesystem
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- mmmmkkkkffffssss____eeeeffffssss [----qqqq] [----aaaa] [----iiii] [----rrrr] [----nnnn inodes] special [proto]
- mmmmkkkkffffssss____eeeeffffssss [----qqqq] [----iiii] [----rrrr] special blocks inodes heads sectors cgsize cgalign ialign [proto]
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _m_k_f_s__e_f_s constructs a filesystem by writing on the _s_p_e_c_i_a_l file using the
- values found in the remaining arguments of the command line. Normally
- _m_k_f_s__e_f_s prints the parameters of the filesystem to be constructed; the
- ----qqqq flag suppresses this.
-
- If the ----iiii flag is given, _m_k_f_s__e_f_s asks for confirmation after displaying
- the parameters of the filesystem to be constructed.
-
- In it's simplest (and most commonly used form), the size of the
- filesystem is determined from the disk driver. As an example, to make a
- filesystem on partition 7 (all of the useable portion of an option drive,
- normally) on drive 7 on SCSI bus 0, use:
-
- mkfs_efs /dev/rdsk/dks0d7s7
-
-
- The ----rrrr flag causes _m_k_f_s__e_f_s to write only the superblock, without
- touching other areas of the filesystem. See the section below on the
- recovery option.
-
- The ----aaaa flag causes _m_k_f_s__e_f_s to align inodes and data on cylinder
- boundaries (equivalent to setting cgalign and ialign to a cylinder size).
- This option can result in a loss of 10MB or more in a filesystem, since
- the resulting cylinder groups are not very flexible in size, and runt
- cylinder groups are not allowed. Aligning data and inodes with this
- option can result in an increase in performance (about two percent) on
- drives that have a fixed number of sectors per track. Many SCSI disk
- drives do not have a fixed number of sectors per track, and thus, will
- not see a benefit from this option.
-
- When the first form of _m_k_f_s__e_f_s is used, _m_k_f_s__e_f_s obtains information
- about the device size and geometry by means of appropriate IOCTLs, and
- assigns values to the filesystem parameters on the basis of this
- information.
-
- If the ----nnnn option is present, however, the given number of inodes is used
- rather than the default. This allows a nonstandard number of inodes to
- be assigned without needing to resort to the long form invocation.
-
- If the second form of _m_k_f_s__e_f_s is used, then all the filesystem
- parameters must be specified from the command line. Each argument other
- than _s_p_e_c_i_a_l and _p_r_o_t_o is interpreted as a decimal number.
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- mmmmkkkkffffssss____eeeeffffssss((((1111MMMM)))) mmmmkkkkffffssss____eeeeffffssss((((1111MMMM))))
-
-
-
- The filesystem parameters are:
-
- _b_l_o_c_k_s The number of _p_h_y_s_i_c_a_l (512-byte) disk blocks the filesystem
- will occupy. The current maximum limit on the size of an EFS
- filesystem is 16777214 blocks (two to the 24th power). This
- can also be expressed as 8 gigabytes. _m_k_f_s__e_f_s does not
- attempt to make a filesystem larger than this limit.
-
- _i_n_o_d_e_s The number of inodes the filesystem should have as a minimum.
-
- _h_e_a_d_s An unused parameter, retained only for backward compatibility.
-
- _s_e_c_t_o_r_s The number of sectors per track of the physical medium.
-
- _c_g_s_i_z_e The size of each cylinder group, in disk blocks, approximately.
-
- _c_g_a_l_i_g_n The boundary, in disk blocks, that a cylinder group should be
- aligned to.
-
- _i_a_l_i_g_n The boundary, in disk blocks, that each cylinder group's inode
- list should be aligned to.
-
- Once _m_k_f_s__e_f_s has the filesystem parameters it needs, it then builds a
- filesystem containing two directories. The filesystem's root directory
- is created with one entry, the _l_o_s_t+_f_o_u_n_d directory. The _l_o_s_t+_f_o_u_n_d
- directory is filled with zeros out to approximately 10 disk blocks, so as
- to allow space for _f_s_c_k(1M) to reconnect disconnected files. The boot
- program block, block zero, is left uninitialized.
-
- If the optional _p_r_o_t_o argument is given, _m_k_f_s__e_f_s uses it as a prototype
- file and takes its directions from that file. The blocks and inodes
- specifiers in the _p_r_o_t_o file are provided for backwards compatibility,
- but are otherwise unused. The prototype file contains tokens separated
- by spaces or new-lines. A sample prototype specification follows (line
- numbers have been added to aid in the explanation):
-
- 1. /stand/_d_i_s_k_b_o_o_t
- 2. 4872 110
- 3. d--777 3 1
- 4. usr d--777 3 1
- 5. sh ---755 3 1 /bin/sh
- 6. ken d--755 6 1
- 7. $
- 8. b0 b--644 3 1 0 0
- 9. c0 c--644 3 1 0 0
- 10 fifo p--644 3 1
- 11 slink l--644 3 1 /a/symbolic/link
- 12 : This is a comment line
- 13 $
- 14. $
-
- Line 1 is a dummy string. (It was formerly the bootfilename.) It is
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- mmmmkkkkffffssss____eeeeffffssss((((1111MMMM)))) mmmmkkkkffffssss____eeeeffffssss((((1111MMMM))))
-
-
-
- present for backward compatibility; boot blocks are not used on SGI
- systems, and _m_k_f_s__e_f_s merely clears block zero.
-
- Note that some string of characters must be present as the first line of
- the proto file to cause it to be parsed correctly; the value of this
- string is immaterial since it is ignored.
-
- Line 2 contains two numeric values (formerly the numbers of blocks and
- inodes). These are also merely for backward compatibility: two numeric
- values must appear at this point for the proto file to be correctly
- parsed, but their values are immaterial since they are ignored.
-
- Lines 3-11 tell _m_k_f_s__e_f_s about files and directories to be included in
- this filesystem.
-
- Line 3 specifies the root directory.
-
- lines 4-6 and 8-10 specifies other directories and files. Note the
- special symbolic link syntax on line 11.
-
- The $$$$ on line 7 tells _m_k_f_s__e_f_s to end the branch of the filesystem it is
- on, and continue from the next higher directory. It must be the last
- character on a line. The :::: on line 12 introduces a comment; all
- characters up until the following newline are ignored. Note that this
- means you cannot have files in a prototype file whose name contains a ::::.
- The $$$$ on lines 13 and 14 end the process, since no additional
- specifications follow.
-
- File specifications give the mode, the user ID, the group ID, and the
- initial contents of the file. Valid syntax for the contents field
- depends on the first character of the mode.
-
- The mode for a file is specified by a six-character string. The first
- character specifies the type of the file. The character range is ----bbbbccccddddppppllll
- to specify regular, block special, character special, directory files,
- named pipes (fifos) and symbolic links, respectively. The second
- character of the mode is either uuuu or ---- to specify set-user-ID mode or
- not. The third is gggg or ---- for the set-group-ID mode. The rest of the
- mode is a six digit octal number giving the owner, group, and other read,
- write, execute permissions (see _c_h_m_o_d(1)).
-
- Two decimal number tokens come after the mode; they specify the user and
- group IDs of the owner of the file.
-
- If the file is a regular file, the next token of the specification can be
- a pathname whence the contents and size are copied. If the file is a
- block or character special file, two decimal numbers follow that give the
- major and minor device numbers. If the file is a symbolic link, the next
- token of the specification is used as the contents of the link. If the
- file is a directory, _m_k_f_s__e_f_s makes the entries .... and ........ and then reads
- a list of names and (recursively) file specifications for the entries in
- the directory. As noted above, the scan is terminated with the token $$$$.
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- mmmmkkkkffffssss____eeeeffffssss((((1111MMMM)))) mmmmkkkkffffssss____eeeeffffssss((((1111MMMM))))
-
-
-
- RRRREEEECCCCOOOOVVVVEEEERRRRYYYY OOOOPPPPTTTTIIIIOOOONNNN
- The ----rrrr flag causes _m_k_f_s__e_f_s to write only the superblock, without
- touching the remainder of the filesystem space. This allows a last-ditch
- recovery attempt on a filesystem whose superblocks have been destroyed:
- by running _m_k_f_s__e_f_s on the device with the ----rrrr option, a superblock is
- created from which _f_s_c_k(1M) can obtain the geometry information it needs
- to analyze the filesystem.
-
- Note that this procedure is only of use if the regenerated superblock
- matches the parameters of the original filesystem. If the filesystem was
- created using the long form invocation, parameters identical to the
- original invocation must be given with the ----rrrr option. Note also that
- filesystem defaults may change from release to release to allow more
- efficient use of newer disk technologies; thus, the ----rrrr option may not be
- useful for filesystems created under IRIX versions other than the version
- being run.
-
- It should be clear that this is a limited recovery facility; it does not
- help if, for example, the root directory of the filesystem has been
- destroyed.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- chmod(1), mkfp(1M), mkfs(1M), mkfs_xfs(1M), dir(4), efs(4).
-
- BBBBUUUUGGGGSSSS
- With a prototype file, it is not possible to specify hard links.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-